/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.edu.upc.controlinsumos.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import pe.edu.upc.controlinsumos.model.Movimiento;
import pe.edu.upc.controlinsumos.model.Rpt_Movimiento;

/**
 *
 * @author SMATAYOSHI
 */
public class MovimientoDaoImp {

    public MovimientoDaoImp(){
    }


    public boolean setMovimiento(Movimiento movimiento) {
        String sql = null;
        Connection connection = null;
        Statement st = null;
        ResultSet rs = null;
        boolean estado = false;
        try {
            connection = ConnectionUtils.getConnection();
            st = connection.createStatement();

            sql = "insert into APP.MOVIMIENTO (codalmacen,codproducto,tipo,cantidad,useroperador,usertrabajador,departamento) ";
            sql = sql + "values(" + movimiento.getCodAlmacen() + "," + movimiento.getCodProducto() + ",'" + movimiento.getTipo() + "'," + movimiento.getCantidad() + "," + movimiento.getUserOperador() + "," + movimiento.getUserTrabajador() + ",'" + movimiento.getDepartamento() + "')";

            st.execute(sql);
            estado = true;

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            ConnectionUtils.closeResultSet(rs);
            ConnectionUtils.closeStatement(st);
            ConnectionUtils.closeConnection(connection);
            return estado;
        }
        
    }
    public List<Rpt_Movimiento> getMovimientos() {
        String sql = null;
        Connection connection = null;
        Statement st = null;
        List<Rpt_Movimiento> movimientos;
        movimientos = new ArrayList<Rpt_Movimiento>();
        Rpt_Movimiento movimiento = null;
        ResultSet rs = null;

        try {
            connection = ConnectionUtils.getConnection();
            st = connection.createStatement();

            sql = "select * from app.rpt_movimiento order by codMovimiento";

            rs = st.executeQuery(sql);

            while (rs.next()) {
                movimiento = new Rpt_Movimiento();
                movimiento.setCodMovimiento(rs.getInt("codmovimiento"));
                movimiento.setCantidad(rs.getInt("cantidad"));
                movimiento.setCategoria(rs.getString("categoria"));
                movimiento.setDepartamento(rs.getString("departamento"));
                movimiento.setFecha(rs.getDate("fecha"));
                movimiento.setNomProducto(rs.getString("nomproducto"));
                movimiento.setNombreAlmacen(rs.getString("nombrealmacen"));
                movimiento.setTipo(rs.getString("tipo"));
                movimiento.setTrabajador(rs.getString("trabajador"));
                movimientos.add(movimiento);
            }
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } finally {
            ConnectionUtils.closeResultSet(rs);
            ConnectionUtils.closeStatement(st);
            ConnectionUtils.closeConnection(connection);
            return movimientos;
        }
        

    }



}
